package com.gmcc.bi.utils;

import java.util.Map;

import net.sf.json.JSONObject;

public class JsonUtils {
	
	 /**
     * json string 转换为 map 对象
     * @param jsonObj
     * @return
     */
    public static Map<Object, Object> jsonToMapObj(Object jsonObj) {
        JSONObject jsonObject = JSONObject.fromObject(jsonObj);
        Map<Object, Object> map = (Map)jsonObject;
        return map;
    }
    
    /**
     * json string 转换为 map 对象
     * @param jsonObj
     * @return
     */
    public static Map<String, String> jsonToMapStr(Object jsonObj) {
    	JSONObject jsonObject = JSONObject.fromObject(jsonObj);
    	Map<String, String> map = (Map)jsonObject;
    	return map;
    }

    /**json string 转换为 对象
     * @param jsonObj
     * @param type
     * @return
     */
    public  static <T>  T jsonToBean(Object jsonObj, Class<T> type) {
        JSONObject jsonObject = JSONObject.fromObject(jsonObj);
        T obj =(T)JSONObject.toBean(jsonObject, type);
        return obj;
    } 
    
    public static void main(String[] args) {
    	 String jsonStr = "{\"status\":\"0\",\"data\":{\"name\":\"tom\",\"age\":18}}";
    	 JSONObject fromObject = JSONObject.fromObject(jsonStr);
    	 Map<String, String> jsonToMapStr = jsonToMapStr(fromObject);
    	 System.out.println(jsonToMapStr.get("status"));
	}

}
